通常のswitch関数
標準のbaseパッケージのswitch関数は入力値は1つのみで,ifelse関数のようにベクトルには対応していない.
x <- "a"
switch(x,
       "a" = 1, 
       "b" = 2, 
       "c" = 3, 
       "4" = 4)
 
## [1] 1
 
ベクトル対応版
hutilsパッケージにあるSwitch関数はifelse関数と同様に入力値がベクトルに対応している.
DEFAULTはどれにもマッチしなかった場合のデフォルト値.
library(hutils)
x <- c("a", "b", "c", "a")
Switch(x,
       "a" = 1, 
       "b" = 2, 
       "c" = 3, 
       "4" = 4, 
       DEFAULT = 0)
 
## [1] 1 2 3 1